package net.ibizsys.psmodel.core.domain;

import java.math.BigDecimal;
import java.sql.Timestamp;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonIgnore;

/**
 * <B>PSAPPUITHEME</B>应用界面主题 模型传输对象
 * <P>
 * 应用界面主题模型，定义前端应用支持的界面主题信息
 */
public class PSAppUITheme extends net.ibizsys.psmodel.core.util.PSModelBase {

    public PSAppUITheme(){
        this.setValidFlag(1);
    }      

    /**
     * <B>CREATEDATE</B>&nbsp;建立时间
     */
    public final static String FIELD_CREATEDATE = "createdate";

    /**
     * 设置 建立时间
     * 
     * @param createDate
     * 
     */
    @JsonProperty(FIELD_CREATEDATE)
    public void setCreateDate(String createDate){
        this.set(FIELD_CREATEDATE, createDate);
    }
    
    /**
     * 获取 建立时间  
     * @return
     */
    @JsonIgnore
    public String getCreateDate(){
        Object objValue = this.get(FIELD_CREATEDATE);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 建立时间 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isCreateDateDirty(){
        if(this.contains(FIELD_CREATEDATE)){
            return true;
        }
        return false;
    }

    /**
     * 重置 建立时间
     */
    @JsonIgnore
    public void resetCreateDate(){
        this.reset(FIELD_CREATEDATE);
    }

    /**
     * 设置 建立时间
     * <P>
     * 等同 {@link #setCreateDate}
     * @param createDate
     */
    @JsonIgnore
    public PSAppUITheme createdate(String createDate){
        this.setCreateDate(createDate);
        return this;
    }

    /**
     * <B>CREATEMAN</B>&nbsp;建立人
     * <P>
     * 字符串：最大长度 60
     */
    public final static String FIELD_CREATEMAN = "createman";

    /**
     * 设置 建立人
     * 
     * @param createMan
     * 
     */
    @JsonProperty(FIELD_CREATEMAN)
    public void setCreateMan(String createMan){
        this.set(FIELD_CREATEMAN, createMan);
    }
    
    /**
     * 获取 建立人  
     * @return
     */
    @JsonIgnore
    public String getCreateMan(){
        Object objValue = this.get(FIELD_CREATEMAN);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 建立人 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isCreateManDirty(){
        if(this.contains(FIELD_CREATEMAN)){
            return true;
        }
        return false;
    }

    /**
     * 重置 建立人
     */
    @JsonIgnore
    public void resetCreateMan(){
        this.reset(FIELD_CREATEMAN);
    }

    /**
     * 设置 建立人
     * <P>
     * 等同 {@link #setCreateMan}
     * @param createMan
     */
    @JsonIgnore
    public PSAppUITheme createman(String createMan){
        this.setCreateMan(createMan);
        return this;
    }

    /**
     * <B>CSSSTYLE</B>&nbsp;CSS样式
     */
    public final static String FIELD_CSSSTYLE = "cssstyle";

    /**
     * 设置 CSS样式
     * 
     * @param cSSStyle
     * 
     */
    @JsonProperty(FIELD_CSSSTYLE)
    public void setCSSStyle(String cSSStyle){
        this.set(FIELD_CSSSTYLE, cSSStyle);
    }
    
    /**
     * 获取 CSS样式  
     * @return
     */
    @JsonIgnore
    public String getCSSStyle(){
        Object objValue = this.get(FIELD_CSSSTYLE);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 CSS样式 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isCSSStyleDirty(){
        if(this.contains(FIELD_CSSSTYLE)){
            return true;
        }
        return false;
    }

    /**
     * 重置 CSS样式
     */
    @JsonIgnore
    public void resetCSSStyle(){
        this.reset(FIELD_CSSSTYLE);
    }

    /**
     * 设置 CSS样式
     * <P>
     * 等同 {@link #setCSSStyle}
     * @param cSSStyle
     */
    @JsonIgnore
    public PSAppUITheme cssstyle(String cSSStyle){
        this.setCSSStyle(cSSStyle);
        return this;
    }

    /**
     * <B>MEMO</B>&nbsp;备注
     * <P>
     * 字符串：最大长度 4000
     */
    public final static String FIELD_MEMO = "memo";

    /**
     * 设置 备注
     * 
     * @param memo
     * 
     */
    @JsonProperty(FIELD_MEMO)
    public void setMemo(String memo){
        this.set(FIELD_MEMO, memo);
    }
    
    /**
     * 获取 备注  
     * @return
     */
    @JsonIgnore
    public String getMemo(){
        Object objValue = this.get(FIELD_MEMO);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 备注 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isMemoDirty(){
        if(this.contains(FIELD_MEMO)){
            return true;
        }
        return false;
    }

    /**
     * 重置 备注
     */
    @JsonIgnore
    public void resetMemo(){
        this.reset(FIELD_MEMO);
    }

    /**
     * 设置 备注
     * <P>
     * 等同 {@link #setMemo}
     * @param memo
     */
    @JsonIgnore
    public PSAppUITheme memo(String memo){
        this.setMemo(memo);
        return this;
    }

    /**
     * <B>ORDERVALUE</B>&nbsp;显示次序，指定应用界面主题的显示次序
     */
    public final static String FIELD_ORDERVALUE = "ordervalue";

    /**
     * 设置 显示次序，详细说明：{@link #FIELD_ORDERVALUE}
     * 
     * @param orderValue
     * 
     */
    @JsonProperty(FIELD_ORDERVALUE)
    public void setOrderValue(Integer orderValue){
        this.set(FIELD_ORDERVALUE, orderValue);
    }
    
    /**
     * 获取 显示次序  
     * @return
     */
    @JsonIgnore
    public Integer getOrderValue(){
        Object objValue = this.get(FIELD_ORDERVALUE);
        if(objValue==null){
            return null;
        }
        return (Integer)objValue;
    }

    /**
     * 判断 显示次序 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isOrderValueDirty(){
        if(this.contains(FIELD_ORDERVALUE)){
            return true;
        }
        return false;
    }

    /**
     * 重置 显示次序
     */
    @JsonIgnore
    public void resetOrderValue(){
        this.reset(FIELD_ORDERVALUE);
    }

    /**
     * 设置 显示次序，详细说明：{@link #FIELD_ORDERVALUE}
     * <P>
     * 等同 {@link #setOrderValue}
     * @param orderValue
     */
    @JsonIgnore
    public PSAppUITheme ordervalue(Integer orderValue){
        this.setOrderValue(orderValue);
        return this;
    }

    /**
     * <B>PSAPPUITHEMEID</B>&nbsp;应用界面主题标识
     * <P>
     * 字符串：最大长度 100
     */
    public final static String FIELD_PSAPPUITHEMEID = "psappuithemeid";

    /**
     * 设置 应用界面主题标识
     * 
     * @param pSAppUIThemeId
     * 
     */
    @JsonProperty(FIELD_PSAPPUITHEMEID)
    public void setPSAppUIThemeId(String pSAppUIThemeId){
        this.set(FIELD_PSAPPUITHEMEID, pSAppUIThemeId);
    }
    
    /**
     * 获取 应用界面主题标识  
     * @return
     */
    @JsonIgnore
    public String getPSAppUIThemeId(){
        Object objValue = this.get(FIELD_PSAPPUITHEMEID);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 应用界面主题标识 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isPSAppUIThemeIdDirty(){
        if(this.contains(FIELD_PSAPPUITHEMEID)){
            return true;
        }
        return false;
    }

    /**
     * 重置 应用界面主题标识
     */
    @JsonIgnore
    public void resetPSAppUIThemeId(){
        this.reset(FIELD_PSAPPUITHEMEID);
    }

    /**
     * 设置 应用界面主题标识
     * <P>
     * 等同 {@link #setPSAppUIThemeId}
     * @param pSAppUIThemeId
     */
    @JsonIgnore
    public PSAppUITheme psappuithemeid(String pSAppUIThemeId){
        this.setPSAppUIThemeId(pSAppUIThemeId);
        return this;
    }

    /**
     * <B>PSAPPUITHEMENAME</B>&nbsp;主题名称，指定应用界面主题的名称
     * <P>
     * 字符串：最大长度 200
     */
    public final static String FIELD_PSAPPUITHEMENAME = "psappuithemename";

    /**
     * 设置 主题名称，详细说明：{@link #FIELD_PSAPPUITHEMENAME}
     * 
     * @param pSAppUIThemeName
     * 
     */
    @JsonProperty(FIELD_PSAPPUITHEMENAME)
    public void setPSAppUIThemeName(String pSAppUIThemeName){
        this.set(FIELD_PSAPPUITHEMENAME, pSAppUIThemeName);
    }
    
    /**
     * 获取 主题名称  
     * @return
     */
    @JsonIgnore
    public String getPSAppUIThemeName(){
        Object objValue = this.get(FIELD_PSAPPUITHEMENAME);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 主题名称 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isPSAppUIThemeNameDirty(){
        if(this.contains(FIELD_PSAPPUITHEMENAME)){
            return true;
        }
        return false;
    }

    /**
     * 重置 主题名称
     */
    @JsonIgnore
    public void resetPSAppUIThemeName(){
        this.reset(FIELD_PSAPPUITHEMENAME);
    }

    /**
     * 设置 主题名称，详细说明：{@link #FIELD_PSAPPUITHEMENAME}
     * <P>
     * 等同 {@link #setPSAppUIThemeName}
     * @param pSAppUIThemeName
     */
    @JsonIgnore
    public PSAppUITheme psappuithemename(String pSAppUIThemeName){
        this.setPSAppUIThemeName(pSAppUIThemeName);
        return this;
    }

    @JsonIgnore
    public String getName(){
        return this.getPSAppUIThemeName();
    }

    @JsonIgnore
    public void setName(String strName){
        this.setPSAppUIThemeName(strName);
    }

    @JsonIgnore
    public PSAppUITheme name(String strName){
        this.setPSAppUIThemeName(strName);
        return this;
    }

    /**
     * <B>PSSYSAPPID</B>&nbsp;系统应用，指定应用界面主题所属的前端应用
     * <P>
     * 引用连接属性：对象&nbsp;{@link net.ibizsys.psmodel.core.domain.PSSysApp} 
     */
    public final static String FIELD_PSSYSAPPID = "pssysappid";

    /**
     * 设置 系统应用，详细说明：{@link #FIELD_PSSYSAPPID}
     * 
     * @param pSSysAppId
     * 
     */
    @JsonProperty(FIELD_PSSYSAPPID)
    public void setPSSysAppId(String pSSysAppId){
        this.set(FIELD_PSSYSAPPID, pSSysAppId);
    }
    
    /**
     * 获取 系统应用  
     * @return
     */
    @JsonIgnore
    public String getPSSysAppId(){
        Object objValue = this.get(FIELD_PSSYSAPPID);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 系统应用 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isPSSysAppIdDirty(){
        if(this.contains(FIELD_PSSYSAPPID)){
            return true;
        }
        return false;
    }

    /**
     * 重置 系统应用
     */
    @JsonIgnore
    public void resetPSSysAppId(){
        this.reset(FIELD_PSSYSAPPID);
    }

    /**
     * 设置 系统应用，详细说明：{@link #FIELD_PSSYSAPPID}
     * <P>
     * 等同 {@link #setPSSysAppId}
     * @param pSSysAppId
     */
    @JsonIgnore
    public PSAppUITheme pssysappid(String pSSysAppId){
        this.setPSSysAppId(pSSysAppId);
        return this;
    }

    /**
     * 设置 系统应用，包括引用对象的其它关系属性
     * <P>
     * 等同 {@link #setPSSysAppId}
     * @param pSSysApp 引用对象
     */
    @JsonIgnore
    public PSAppUITheme pssysappid(PSSysApp pSSysApp){
        if(pSSysApp == null){
            this.setPSSysAppId(null);
            this.setPSSysAppName(null);
        }
        else{
            this.setPSSysAppId(pSSysApp.getPSSysAppId());
            this.setPSSysAppName(pSSysApp.getPSSysAppName());
        }
        return this;
    }

    /**
     * <B>PSSYSAPPNAME</B>&nbsp;前端应用，指定应用界面主题所属的前端应用
     * <P>
     * 引用附加属性：连接&nbsp;{@link #FIELD_PSSYSAPPID}
     */
    public final static String FIELD_PSSYSAPPNAME = "pssysappname";

    /**
     * 设置 前端应用，详细说明：{@link #FIELD_PSSYSAPPNAME}
     * 
     * @param pSSysAppName
     * 
     */
    @JsonProperty(FIELD_PSSYSAPPNAME)
    public void setPSSysAppName(String pSSysAppName){
        this.set(FIELD_PSSYSAPPNAME, pSSysAppName);
    }
    
    /**
     * 获取 前端应用  
     * @return
     */
    @JsonIgnore
    public String getPSSysAppName(){
        Object objValue = this.get(FIELD_PSSYSAPPNAME);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 前端应用 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isPSSysAppNameDirty(){
        if(this.contains(FIELD_PSSYSAPPNAME)){
            return true;
        }
        return false;
    }

    /**
     * 重置 前端应用
     */
    @JsonIgnore
    public void resetPSSysAppName(){
        this.reset(FIELD_PSSYSAPPNAME);
    }

    /**
     * 设置 前端应用，详细说明：{@link #FIELD_PSSYSAPPNAME}
     * <P>
     * 等同 {@link #setPSSysAppName}
     * @param pSSysAppName
     */
    @JsonIgnore
    public PSAppUITheme pssysappname(String pSSysAppName){
        this.setPSSysAppName(pSSysAppName);
        return this;
    }

    /**
     * <B>THEMEDESC</B>&nbsp;主题描述，指定应用界面主题的描述信息
     * <P>
     * 字符串：最大长度 2000
     */
    public final static String FIELD_THEMEDESC = "themedesc";

    /**
     * 设置 主题描述，详细说明：{@link #FIELD_THEMEDESC}
     * 
     * @param themeDesc
     * 
     */
    @JsonProperty(FIELD_THEMEDESC)
    public void setThemeDesc(String themeDesc){
        this.set(FIELD_THEMEDESC, themeDesc);
    }
    
    /**
     * 获取 主题描述  
     * @return
     */
    @JsonIgnore
    public String getThemeDesc(){
        Object objValue = this.get(FIELD_THEMEDESC);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 主题描述 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isThemeDescDirty(){
        if(this.contains(FIELD_THEMEDESC)){
            return true;
        }
        return false;
    }

    /**
     * 重置 主题描述
     */
    @JsonIgnore
    public void resetThemeDesc(){
        this.reset(FIELD_THEMEDESC);
    }

    /**
     * 设置 主题描述，详细说明：{@link #FIELD_THEMEDESC}
     * <P>
     * 等同 {@link #setThemeDesc}
     * @param themeDesc
     */
    @JsonIgnore
    public PSAppUITheme themedesc(String themeDesc){
        this.setThemeDesc(themeDesc);
        return this;
    }

    /**
     * <B>THEMEPARAMS</B>&nbsp;主题参数，指定应用界面主题的参数
     */
    public final static String FIELD_THEMEPARAMS = "themeparams";

    /**
     * 设置 主题参数，详细说明：{@link #FIELD_THEMEPARAMS}
     * 
     * @param themeParams
     * 
     */
    @JsonProperty(FIELD_THEMEPARAMS)
    public void setThemeParams(String themeParams){
        this.set(FIELD_THEMEPARAMS, themeParams);
    }
    
    /**
     * 获取 主题参数  
     * @return
     */
    @JsonIgnore
    public String getThemeParams(){
        Object objValue = this.get(FIELD_THEMEPARAMS);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 主题参数 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isThemeParamsDirty(){
        if(this.contains(FIELD_THEMEPARAMS)){
            return true;
        }
        return false;
    }

    /**
     * 重置 主题参数
     */
    @JsonIgnore
    public void resetThemeParams(){
        this.reset(FIELD_THEMEPARAMS);
    }

    /**
     * 设置 主题参数，详细说明：{@link #FIELD_THEMEPARAMS}
     * <P>
     * 等同 {@link #setThemeParams}
     * @param themeParams
     */
    @JsonIgnore
    public PSAppUITheme themeparams(String themeParams){
        this.setThemeParams(themeParams);
        return this;
    }

    /**
     * <B>THEMETAG</B>&nbsp;主题标记，指定应用界面主题的标识，需在所在前端应用中具备唯一性
     * <P>
     * 字符串：最大长度 60，由字母、数字、下划线组成，且开始必须为字母
     */
    public final static String FIELD_THEMETAG = "themetag";

    /**
     * 设置 主题标记，详细说明：{@link #FIELD_THEMETAG}
     * 
     * @param themeTag
     * 
     */
    @JsonProperty(FIELD_THEMETAG)
    public void setThemeTag(String themeTag){
        this.set(FIELD_THEMETAG, themeTag);
    }
    
    /**
     * 获取 主题标记  
     * @return
     */
    @JsonIgnore
    public String getThemeTag(){
        Object objValue = this.get(FIELD_THEMETAG);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 主题标记 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isThemeTagDirty(){
        if(this.contains(FIELD_THEMETAG)){
            return true;
        }
        return false;
    }

    /**
     * 重置 主题标记
     */
    @JsonIgnore
    public void resetThemeTag(){
        this.reset(FIELD_THEMETAG);
    }

    /**
     * 设置 主题标记，详细说明：{@link #FIELD_THEMETAG}
     * <P>
     * 等同 {@link #setThemeTag}
     * @param themeTag
     */
    @JsonIgnore
    public PSAppUITheme themetag(String themeTag){
        this.setThemeTag(themeTag);
        return this;
    }

    /**
     * <B>THEMEURL</B>&nbsp;主题Url
     * <P>
     * 字符串：最大长度 500
     */
    public final static String FIELD_THEMEURL = "themeurl";

    /**
     * 设置 主题Url
     * 
     * @param themeUrl
     * 
     */
    @JsonProperty(FIELD_THEMEURL)
    public void setThemeUrl(String themeUrl){
        this.set(FIELD_THEMEURL, themeUrl);
    }
    
    /**
     * 获取 主题Url  
     * @return
     */
    @JsonIgnore
    public String getThemeUrl(){
        Object objValue = this.get(FIELD_THEMEURL);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 主题Url 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isThemeUrlDirty(){
        if(this.contains(FIELD_THEMEURL)){
            return true;
        }
        return false;
    }

    /**
     * 重置 主题Url
     */
    @JsonIgnore
    public void resetThemeUrl(){
        this.reset(FIELD_THEMEURL);
    }

    /**
     * 设置 主题Url
     * <P>
     * 等同 {@link #setThemeUrl}
     * @param themeUrl
     */
    @JsonIgnore
    public PSAppUITheme themeurl(String themeUrl){
        this.setThemeUrl(themeUrl);
        return this;
    }

    /**
     * <B>UPDATEDATE</B>&nbsp;更新时间
     */
    public final static String FIELD_UPDATEDATE = "updatedate";

    /**
     * 设置 更新时间
     * 
     * @param updateDate
     * 
     */
    @JsonProperty(FIELD_UPDATEDATE)
    public void setUpdateDate(String updateDate){
        this.set(FIELD_UPDATEDATE, updateDate);
    }
    
    /**
     * 获取 更新时间  
     * @return
     */
    @JsonIgnore
    public String getUpdateDate(){
        Object objValue = this.get(FIELD_UPDATEDATE);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 更新时间 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isUpdateDateDirty(){
        if(this.contains(FIELD_UPDATEDATE)){
            return true;
        }
        return false;
    }

    /**
     * 重置 更新时间
     */
    @JsonIgnore
    public void resetUpdateDate(){
        this.reset(FIELD_UPDATEDATE);
    }

    /**
     * 设置 更新时间
     * <P>
     * 等同 {@link #setUpdateDate}
     * @param updateDate
     */
    @JsonIgnore
    public PSAppUITheme updatedate(String updateDate){
        this.setUpdateDate(updateDate);
        return this;
    }

    /**
     * <B>UPDATEMAN</B>&nbsp;更新人
     * <P>
     * 字符串：最大长度 60
     */
    public final static String FIELD_UPDATEMAN = "updateman";

    /**
     * 设置 更新人
     * 
     * @param updateMan
     * 
     */
    @JsonProperty(FIELD_UPDATEMAN)
    public void setUpdateMan(String updateMan){
        this.set(FIELD_UPDATEMAN, updateMan);
    }
    
    /**
     * 获取 更新人  
     * @return
     */
    @JsonIgnore
    public String getUpdateMan(){
        Object objValue = this.get(FIELD_UPDATEMAN);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 更新人 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isUpdateManDirty(){
        if(this.contains(FIELD_UPDATEMAN)){
            return true;
        }
        return false;
    }

    /**
     * 重置 更新人
     */
    @JsonIgnore
    public void resetUpdateMan(){
        this.reset(FIELD_UPDATEMAN);
    }

    /**
     * 设置 更新人
     * <P>
     * 等同 {@link #setUpdateMan}
     * @param updateMan
     */
    @JsonIgnore
    public PSAppUITheme updateman(String updateMan){
        this.setUpdateMan(updateMan);
        return this;
    }

    /**
     * <B>USERCAT</B>&nbsp;用户分类
     * <P>
     * 值参考&nbsp;{@link net.ibizsys.psmodel.core.util.PSModelEnums.ModelUserCat} 
     */
    public final static String FIELD_USERCAT = "usercat";

    /**
     * 设置 用户分类
     * 
     * @param userCat
     * 
     */
    @JsonProperty(FIELD_USERCAT)
    public void setUserCat(String userCat){
        this.set(FIELD_USERCAT, userCat);
    }
    
    /**
     * 获取 用户分类  
     * @return
     */
    @JsonIgnore
    public String getUserCat(){
        Object objValue = this.get(FIELD_USERCAT);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 用户分类 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isUserCatDirty(){
        if(this.contains(FIELD_USERCAT)){
            return true;
        }
        return false;
    }

    /**
     * 重置 用户分类
     */
    @JsonIgnore
    public void resetUserCat(){
        this.reset(FIELD_USERCAT);
    }

    /**
     * 设置 用户分类
     * <P>
     * 等同 {@link #setUserCat}
     * @param userCat
     */
    @JsonIgnore
    public PSAppUITheme usercat(String userCat){
        this.setUserCat(userCat);
        return this;
    }

     /**
     * 设置 用户分类
     * <P>
     * 等同 {@link #setUserCat}
     * @param userCat
     */
    @JsonIgnore
    public PSAppUITheme usercat(net.ibizsys.psmodel.core.util.PSModelEnums.ModelUserCat userCat){
        if(userCat == null){
            this.setUserCat(null);
        }
        else{
            this.setUserCat(userCat.value);
        }
        return this;
    }

    /**
     * <B>USERTAG</B>&nbsp;用户标记
     * <P>
     * 字符串：最大长度 200
     */
    public final static String FIELD_USERTAG = "usertag";

    /**
     * 设置 用户标记
     * 
     * @param userTag
     * 
     */
    @JsonProperty(FIELD_USERTAG)
    public void setUserTag(String userTag){
        this.set(FIELD_USERTAG, userTag);
    }
    
    /**
     * 获取 用户标记  
     * @return
     */
    @JsonIgnore
    public String getUserTag(){
        Object objValue = this.get(FIELD_USERTAG);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 用户标记 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isUserTagDirty(){
        if(this.contains(FIELD_USERTAG)){
            return true;
        }
        return false;
    }

    /**
     * 重置 用户标记
     */
    @JsonIgnore
    public void resetUserTag(){
        this.reset(FIELD_USERTAG);
    }

    /**
     * 设置 用户标记
     * <P>
     * 等同 {@link #setUserTag}
     * @param userTag
     */
    @JsonIgnore
    public PSAppUITheme usertag(String userTag){
        this.setUserTag(userTag);
        return this;
    }

    /**
     * <B>USERTAG2</B>&nbsp;用户标记2
     * <P>
     * 字符串：最大长度 200
     */
    public final static String FIELD_USERTAG2 = "usertag2";

    /**
     * 设置 用户标记2
     * 
     * @param userTag2
     * 
     */
    @JsonProperty(FIELD_USERTAG2)
    public void setUserTag2(String userTag2){
        this.set(FIELD_USERTAG2, userTag2);
    }
    
    /**
     * 获取 用户标记2  
     * @return
     */
    @JsonIgnore
    public String getUserTag2(){
        Object objValue = this.get(FIELD_USERTAG2);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 用户标记2 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isUserTag2Dirty(){
        if(this.contains(FIELD_USERTAG2)){
            return true;
        }
        return false;
    }

    /**
     * 重置 用户标记2
     */
    @JsonIgnore
    public void resetUserTag2(){
        this.reset(FIELD_USERTAG2);
    }

    /**
     * 设置 用户标记2
     * <P>
     * 等同 {@link #setUserTag2}
     * @param userTag2
     */
    @JsonIgnore
    public PSAppUITheme usertag2(String userTag2){
        this.setUserTag2(userTag2);
        return this;
    }

    /**
     * <B>USERTAG3</B>&nbsp;用户标记3
     * <P>
     * 字符串：最大长度 50
     */
    public final static String FIELD_USERTAG3 = "usertag3";

    /**
     * 设置 用户标记3
     * 
     * @param userTag3
     * 
     */
    @JsonProperty(FIELD_USERTAG3)
    public void setUserTag3(String userTag3){
        this.set(FIELD_USERTAG3, userTag3);
    }
    
    /**
     * 获取 用户标记3  
     * @return
     */
    @JsonIgnore
    public String getUserTag3(){
        Object objValue = this.get(FIELD_USERTAG3);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 用户标记3 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isUserTag3Dirty(){
        if(this.contains(FIELD_USERTAG3)){
            return true;
        }
        return false;
    }

    /**
     * 重置 用户标记3
     */
    @JsonIgnore
    public void resetUserTag3(){
        this.reset(FIELD_USERTAG3);
    }

    /**
     * 设置 用户标记3
     * <P>
     * 等同 {@link #setUserTag3}
     * @param userTag3
     */
    @JsonIgnore
    public PSAppUITheme usertag3(String userTag3){
        this.setUserTag3(userTag3);
        return this;
    }

    /**
     * <B>USERTAG4</B>&nbsp;用户标记4
     * <P>
     * 字符串：最大长度 50
     */
    public final static String FIELD_USERTAG4 = "usertag4";

    /**
     * 设置 用户标记4
     * 
     * @param userTag4
     * 
     */
    @JsonProperty(FIELD_USERTAG4)
    public void setUserTag4(String userTag4){
        this.set(FIELD_USERTAG4, userTag4);
    }
    
    /**
     * 获取 用户标记4  
     * @return
     */
    @JsonIgnore
    public String getUserTag4(){
        Object objValue = this.get(FIELD_USERTAG4);
        if(objValue==null){
            return null;
        }
        return (String)objValue;
    }

    /**
     * 判断 用户标记4 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isUserTag4Dirty(){
        if(this.contains(FIELD_USERTAG4)){
            return true;
        }
        return false;
    }

    /**
     * 重置 用户标记4
     */
    @JsonIgnore
    public void resetUserTag4(){
        this.reset(FIELD_USERTAG4);
    }

    /**
     * 设置 用户标记4
     * <P>
     * 等同 {@link #setUserTag4}
     * @param userTag4
     */
    @JsonIgnore
    public PSAppUITheme usertag4(String userTag4){
        this.setUserTag4(userTag4);
        return this;
    }

    /**
     * <B>VALIDFLAG</B>&nbsp;启用
     * <P>
     * 值参考&nbsp;{@link net.ibizsys.psmodel.core.util.PSModelEnums.YesNo} 
     */
    public final static String FIELD_VALIDFLAG = "validflag";

    /**
     * 设置 启用
     * 
     * @param validFlag
     * 
     */
    @JsonProperty(FIELD_VALIDFLAG)
    public void setValidFlag(Integer validFlag){
        this.set(FIELD_VALIDFLAG, validFlag);
    }
    
    /**
     * 获取 启用  
     * @return
     */
    @JsonIgnore
    public Integer getValidFlag(){
        Object objValue = this.get(FIELD_VALIDFLAG);
        if(objValue==null){
            return null;
        }
        return (Integer)objValue;
    }

    /**
     * 判断 启用 是否指定值，包括空值
     * @return
     */
    @JsonIgnore
    public boolean isValidFlagDirty(){
        if(this.contains(FIELD_VALIDFLAG)){
            return true;
        }
        return false;
    }

    /**
     * 重置 启用
     */
    @JsonIgnore
    public void resetValidFlag(){
        this.reset(FIELD_VALIDFLAG);
    }

    /**
     * 设置 启用
     * <P>
     * 等同 {@link #setValidFlag}
     * @param validFlag
     */
    @JsonIgnore
    public PSAppUITheme validflag(Integer validFlag){
        this.setValidFlag(validFlag);
        return this;
    }

     /**
     * 设置 启用
     * <P>
     * 等同 {@link #setValidFlag}
     * @param validFlag
     */
    @JsonIgnore
    public PSAppUITheme validflag(Boolean validFlag){
        if(validFlag == null){
            this.setValidFlag(null);
        }
        else{
            this.setValidFlag(validFlag?BOOLEAN_TRUE:BOOLEAN_FALSE);
        }
        return this;
    }

    @JsonIgnore
    public String getId(){
        return this.getPSAppUIThemeId();
    }

    @JsonIgnore
    public void setId(String strValue){
        this.setPSAppUIThemeId(strValue);
    }

    @JsonIgnore
    public PSAppUITheme id(String strValue){
        this.setPSAppUIThemeId(strValue);
        return this;
    }

    @Override
    public void copyTo(net.ibizsys.psmodel.core.util.IPSModel iPSModel){
        if(iPSModel instanceof PSAppUITheme){
            PSAppUITheme model = (PSAppUITheme)iPSModel;
        }
        super.copyTo(iPSModel);
    }
}
